//
// Created by wkm on 2024-04-17.
//

#include "xDtime_test.h"

void xDtime_test() {
    sc_clock clk("my_clk", 2, SC_NS);
    sc_signal<bool> start, reset;
    sc_signal<sc_uint<DATA_SIZE>> input_data, result;
    sc_signal<exe_state> done;

    xDtime my_xDtime("my_xDtime");
    my_xDtime.start(start);
    my_xDtime.reset(reset);
    my_xDtime.clk(clk);
    my_xDtime.input_data(input_data);
    my_xDtime.result(result);
    my_xDtime.done(done);

    xDtime_driver my_xDtime_driver("my_xDtime_driver");
    my_xDtime_driver.d_start(start);
    my_xDtime_driver.d_reset(reset);
    my_xDtime_driver.d_clk(clk);
    my_xDtime_driver.d_input_data(input_data);

    xDtime_monitor my_xDtime_monitor("my_xDtime_monitor");
    my_xDtime_monitor.m_result(result);
    my_xDtime_monitor.m_done(done);

    sc_start();
}